﻿Public Class Login

    ' TODO: inserte el código para realizar autenticación personalizada usando el nombre de usuario y la contraseña proporcionada 
    ' (Consulte http://go.microsoft.com/fwlink/?LinkId=35339).  
    ' El objeto principal personalizado se puede adjuntar al objeto principal del subproceso actual como se indica a continuación: 
    '    
    ' donde CustomPrincipal es la implementación de IPrincipal utilizada para realizar la autenticación. 
    ' Posteriormente, My.User devolverá la información de identidad encapsulada en el objeto CustomPrincipal
    ' como el nombre de usuario, nombre para mostrar, etc.

    Dim bContadorErrores As Byte

    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click

        Dim contexto As New Capa_Datos.ContextoBAseDataContext

        'Validaciones texto
        '/////////////////////////////////////////////
        If txt_usuario.Text = "" And txt_pass.Text = "" Then
            MsgBox("Los campos no pueden estar vacios", MsgBoxStyle.OkOnly, "Advertencia")
            Exit Sub
        End If

        If txt_usuario.Text = "" Then
            MsgBox("El campo usuario, no puede estar vacio", MsgBoxStyle.OkOnly, "Advertencia")
            Exit Sub
        End If

        If txt_pass.Text = "" Then
            MsgBox("El campos password, no puede estar vacio", MsgBoxStyle.OkOnly, "Advertencia")
            Exit Sub
        End If

        '/////////////////////////////////////////////


        'Validaciones en la base 
        '/////////////////////////////////////////////


        If contexto.sp_valida_usuario(txt_usuario.Text.Trim).Equals(1) Then

            If contexto.sp_valida_pass(txt_usuario.Text.Trim, txt_pass.Text).Equals(1) Then
                'My.User.CurrentPrincipal = FrmPrincipal
                FrmPrincipal.Show()
                Me.Hide()
            Else ' no encontro el password
                bContadorErrores += 1
                MsgBox("Password Incorrecta ,por favor ingreselo nuevamente", MsgBoxStyle.OkOnly, "Advertencia")
            End If
        Else 'usuario no existe
            bContadorErrores += 1
            MsgBox("El usuario no existe", MsgBoxStyle.OkOnly, "Advertencia")
        End If

        If bContadorErrores = 3 Then
            MsgBox("Retiteradas veces a ingresado el usuario/password erroneamente", MsgBoxStyle.Critical, "Error")
            Me.Close()
        End If
        '/////////////////////////////////////////////

    End Sub

    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Me.Close()
    End Sub

End Class
